/**
 * Copyright (c) 2023, iDearHanYu Co., Ltd.
 *
 * SPDX-License-Identifier: 
 *
 * Change Logs:
 * Date           Author       Notes
 * 2024-09-21     chao         first version
 */

#ifndef __VOLUMIO_MUSIC_CUSTOM_H__
#define __VOLUMIO_MUSIC_CUSTOM_H__

enum _source {
    SOURCE_BT,
    SOURCE_STREAMING,
    SOURCE_USB_AUDIO,
    SOURCE_MAX,
    SOURCE_TEST1,
    SOURCE_TEST2,
    SOURCE_TEST3,
};

/* exported functions */
/***************************************************/
/* USER invoke                                     */
/***************************************************/
enum _source music_player_current_source_get(void);
const char *music_player_source_string_get(int source);
void music_player_title_set(const char *title);
const char *music_player_title_get(void);
void music_player_artist_set(const char *artist);
const char *music_player_artist_get(void);
void music_player_album_set(const char *album);
const char *music_player_album_get(void);
void music_player_play_state_set(uint8_t state);
uint8_t music_player_play_state_get(void);
void music_player_play_time_set(uint32_t time);
uint32_t music_player_play_time_get(void);
void music_player_whole_time_set(uint32_t time);
uint32_t music_player_whole_time_get(void);

/***************************************************/
/* UI callback                                     */
/***************************************************/
void music_player_param_init_cb(void);
void music_player_play_pause_cb(void);
void music_player_play_next_cb(void);
void music_player_play_prev_cb(void);
int music_player_switch_source_cb(enum _source source);


#endif /* __VOLUMIO_MUSIC_CUSTOM_H__ */


